#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<wait.h>
#include<syslog.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<errno.h>
#include<unistd.h>
#include<string.h>
#define FNAME "/tmp/out"

static int daemonize(void)
{
	pid_t pid;
	int fd;
	pid=fork();
	if(pid<0)
	{
		perror("fork()");
			return-1;
	}
	if(pid>0)
		exit(0);
	fd=open("/dev/null",O_RDWR);
	if(fd<0)
	{
		perror("open()");
		return -1;
	}
	dup2(fd,0);
	dup2(fd,1);
	dup2(fd,2);
	if(fd>2)
		close(fd);
	setsid();
	chdir("/");
	return 0;	
}


int main()
{


	int i;
	FILE *fp;
	if(daemonize())
	{	
		perror("daemonize failed");
		return -1;
	}

	fp=fopen(FNAME,"w");
	if(fp==NULL)
	{
		perror("file open failed");
		return -1;
	}
	for(i=0;;i++)
	{
		fprintf(fp,"%d\n",i);
		fflush(fp);
		sleep(1);

	}
	fclose(fp);
	return 0;
}
